AWS Cloud9 環境を作成してAmazon Aurora Serverless MySQL データベースに接続する
こんにちは、yagiです。
本日は、「AWS Cloud9 環境を作成してAmazon Aurora Serverless MySQL データベースに接続する」内容について記載します。
Amazon Aurora Serverless とは?
Amazon Aurora は、MySQL および PostgreSQL と互換性のあるリレーショナルデータベースであり、従来のエンタープライズデータベースのパフォーマンスと可用性に加え、オープンソースデータベースのシンプルさと費用対効果も兼ね備えています。Amazon Aurora Serverless は、Amazon Aurora (MySQL 互換エディションおよび PostgreSQL 互換エディション) のオンデマンド自動スケーリング設定です。データベースの容量はアプリケーションのニーズに基づいて自動的に起動、シャットダウン、スケールアップまたはスケールダウンされます。Aurora Serverless を使用すると、データベースインスタンスを管理せずにクラウド内でデータベースを実行できます。Aurora Serverless は、低頻度、断続的、または予測不能なワークロード向けの、シンプルでコスト効率の良いオプションです。
(公式ドキュメントから抜粋)
サーバレスなのでデータベースインスタンスの管理不要、低頻度、断続的、または予測不能なワークロード向けにも使い勝手が良く、かつそれに加えMySQL および PostgreSQL と互換性のあるリレーショナルデータベースとして活用できます。
設定してみる
Serverless MySQL データベースを設定し、接続する
上記公式ドキュメントのチュートリアルにしたがって進めていきます。 今回は以下のステップで進めます。
>Step 1. Aurora Serverless データベースを作成する
>Step 2. AWS Cloud9 環境を作成する
>Step 3. AWS Cloud9からAurora Serverless データベースへのネットワークアクセスを有効にする
>Step 4. Aurora Serverless データベースに接続する
Step 1. Aurora Serverless DB データベースを作成する
Aurora Serverless データベースを作成します。
AWSコンソールでRDSコンソールに移動し、「データベースの作成」を押下します。
「エンジンのタイプ」で「Amazon Aurora」を選択し、「エディション」で「MySQL との互換性を持つ Amazon Aurora」を選択、「キャパシティータイプ」で「サーバーレス」を選択します。
「DB クラスターの識別子」、「マスターユーザー名」、「マスターパスワード」を入力します。
「キャパシティーの設定」で「Aurora キャパシティーユニット」をそれぞれ入力します。
「接続」にて「VPC」、「サブネットグループ」を以下の通り選択します。
「VPCセキュリティグループ」にて、「新規作成」を選択します。新しいVPCセキュリティグループ名を入力し、追加の接続設定を開いて、「Data API」にチェックを入れます。
追加設定を開いて、「削除保護の有効化」のチェックを外しておきます。最後に入力した内容を全体的に再確認して、「データベースの作成」を押下します。
Step 2. AWS Cloud9 環境を作成する
AWS Cloud9 コンソールに移動して、新しい環境を作成します。
AWS Cloud9 とは?
>AWS Cloud9 は、ブラウザのみでコードを記述、実行、デバッグできるクラウドベースの統合開発環境 (IDE) です。
>Cloud9 では、サーバーレスアプリケーションを開発するためのシームレスなエクスペリエンスが提供されており、リソースの定義、デバッグ、ローカルとリモートの間でのサーバーレスアプリケーションの実行の切り替えを簡単に行えます。
(公式ドキュメントから抜粋)
「Create environment」を押下して環境を作成します。
環境名を入力して「Next step」を押下します。
Network settings (advanced)を開きます。VPCとサブネットをDB作成した際のものと合わせます。「Next step」を押下します。「Create environment」を押下して環境を作成します。
Step 3. AWS Cloud9からAurora Serverless データベースへのネットワークアクセスを有効にする
AWS Cloud9からAurora Serverless データベースへのネットワークアクセスを有効にするため、 MyCloud9Env に割り当てられたセキュリティグループを、MyClusterName に割り当てられたセキュリティグループのトラフィックソースとして追加します。
マネジメントコンソールのVPCから、セキュリティグループへ移動し、MyCloud9Envに割り当てられたセキュリティグループIDを書き留めます。
次に、Aurora Serverless データベース作成時に作成したセキュリティグループを選択し、インバウンドルールタブを選択して、「インバウンドルールを編集」を押下します。
以下のように「ルールを追加」を押下して、タイプに「MySQL/Aurora (3306)」を選択し、MyCloud9Envに割り当てられたセキュリティグループ ID を選択します。次に、「ルールを保存」 を選択します。
Step 4. Aurora Serverless データベースに接続する
Cloud9 環境から Aurora Serverless データベースに接続します。
先ほどのCloud9のターミナルで、以下を書き換えて入力します。
mysql --user=[your Master username] --password -h [your database endpoint]
パスワードを聞いてくるので、データベース作成時に入力したマスターパスワードを入力し、接続します。
結論
Aurora Serverless データベースを作成し、Cloud9 環境から接続して確認するまでを実施しました。 数回クリックするだけで簡単に作成でき、かつデータベースインスタンスの管理も不要で、かつリレーショナルデータベースとして活用できるため、使用するメリットが大きいと思われます。